package org.wyn.service;

import java.util.List;

import org.wyn.mongodb.bean.BecomeFriendRequest;
import org.wyn.mongodb.bean.UserDetail;
import org.wyn.service.impl.FriendServiceImpl;

import com.google.inject.ImplementedBy;
/**
 * 好友Service接口
 * @author wyn
 *
 */
@ImplementedBy(FriendServiceImpl.class)
public interface IFriendService {
	/**
	 * 根据真实姓名搜索用户
	 * @param realName
	 * @return
	 */
	List<UserDetail> searchUserByRealName(String realName);
	/**
	 * 邀请成为好友
	 * @param fromUser 邀请发起人
	 * @param toUser 邀请接受人
	 * @return 发送邀请成功返回true失败返回false
	 */
	boolean becomeFriendRequest(String fromUser,String toUser);
	/**
	 * 查看发送到某用户的好友请求
	 * @return
	 */
	List<BecomeFriendRequest> viewFriendRequestByToUser(String toUser);
	/**
	 * 同意好友请求
	 * @param toUser 请求接受方,只有当toUser和requestId对应的请求中的toUser相同时才可以操作
	 * @param requestId
	 * @return 操作成功返回true失败返回false
	 */
	boolean agreeRequest(String toUser,String requestId);
	/**
	 * 拒绝好友请求
	 * @param toUser 请求接受方,只有当toUser和requestId对应的请求中的toUser相同时才可以操作
	 * @param requestId
	 * @return 操作成功返回true失败返回false
	 */
	boolean rejectRequest(String toUser,String requestId);
	/**
	 * 查看某一用户的好友列表
	 * @param userName
	 * @return
	 */
	List<UserDetail> viewFriendByUserName(String userName);
}
